from typing import Any, Optional


def get_field_value(obj: Any, field: str, default: Optional[Any] = None) -> Any:
    """
    通用字段提取函数：从 dict 或对象中安全获取指定字段的值。

    支持：
        - 字典: obj.get(field)
        - 对象: getattr(obj, field)
        - 层级访问: 如 "response.content"（可选增强）

    Args:
        obj: 要提取字段的对象，可以是 dict、object 或 None
        field: 字段名，如 "content", "text", "id"
        default: 获取失败时的默认值

    Returns:
        Any: 字段值或默认值
    """
    if obj is None:
        return default

    if isinstance(obj, dict):
        return obj.get(field, default)
    elif hasattr(obj, field):
        return getattr(obj, field, default)
    else:
        return default
